/* * This software is Copyright 2005,2006,2007,2008 Langdale Consultants. * Langdale Consultants can be contacted at: http://www.langdale.com.au */ package au.com.langdale.cimtoole.wizards; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.Wizard; import org.eclipse.ui.INewWizard; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.FileEditorInput; import au.com.langdale.cimtoole.project.Task; import au.com.langdale.util.Jobs; public class NewProfile extends Wizard implements INewWizard { private NewProfilePage main = new NewProfilePage(); private IWorkbench workbench; public void init(IWorkbench workbench, IStructuredSelection selection) { this.workbench = workbench; setWindowTitle("New Profile"); setNeedsProgressMonitor(true); main.setTitle(getWindowTitle()); main.setDescription("Create a new OWL profile definition."); main.setSelected(selection); } @Override public void addPages() { addPage(main); } @Override public boolean performFinish() { if( Jobs.runInteractive(Task.createProfile(main.getFile(), main.getNamespace(), main.getEnvname()), main.getFile().getParent(), getContainer(), getShell())) { try { workbench.getActiveWorkbenchWindow().getActivePage().openEditor(new FileEditorInput(main.getFile()), "au.com.langdale.cimtoole.editors.MessageModelEditor"); return true; } catch (PartInitException e) { e.printStackTrace(); return true; // we created the file but didn't open an editor } } else return false; } }